package com.whales.lms.rms.scheduler.task;

import org.springframework.stereotype.Component;

import com.whales.lms.rms.scheduler.TaskTemplate;

/**
 * Scheduler 실행을 위한 Sample Task
 * <p>추가할 Task가 있다면 본 Class를 참조하시기 바랍니다. </p> 
 * <p>※Service객체 처럼 DI(Dependency Inject)을 사용할 수 있습니다.<br>
 *     ContextUtil.getBean() 요런 API 사용하지 마세요
 * </p> 
 */
@Component
public class SampleTask extends TaskTemplate{
    /**
     * 반복주기를 설정하기 위한 생성자 method
     * ※ 반드시 delay 또는 cronExpression 둘중 하나는 설정되어야 합니다.
     *   둘다 없으면 스케줄러에 등록되지 않습니다.    
     */
    public SampleTask(){
        //반복주기로 setting할 경우
        this.setDelay(60000); //60초(1분) 간격
        //cron 형태로 setting할 경우
//        this.setConExpression("0 0/1 * * * ?"); //1분 간격
    }
    
    /**
     * task가 실행되는 method
     * @throws Exception
     */
    @Override
    public void execute() throws Exception {
        System.out.println("sampleTask start!");
    }

}
